网络监听的检测方式有哪些
网络监听的检测方式如下:
PING方法:大多数非法的网络监听程序都是运行在网络中安装了TCP/IP协议栈的主机上,这就意味着如果向这些计算机发送一个请求,它们将产生回应。PING方法就是向可疑主机发送包含正确IP地址和错误MAC地址的PING包。没有运行网络监听程序的主机将忽略该帧,不产生回应。如果得到回应,那么说明可疑主机确实在运行网络监听程序。目前针对这种检测方法,有的网络监听程序已经增加了虚拟地址过滤功能。而且从这种方法可以引申出其他方法:任何产生回应的协议都可以利用,比如TCP,UDP等。
ARP方法:共享介质环境中,利用ARP协议,由检测主机通过创建并发送目的IP地址是可疑主机的IP,而MAC地址不同于此主机的ARP请求包,所有计算机都将收到这个ARP请求包,但只有运行了sniffer的主机的网卡驱动程序会直接将这个请求包传送给内核协议栈进行处理,其他主机会丢弃这个ARP请求包。可以通过接收可疑主机是否有ARP应答包来判断该主机的网卡是否处于混杂模式来进一步做出判断。交换介质环境中,通过对ARP欺骗原理分析发现,当网络中存在sniffer进行ARP欺骗时,会有以下两种情况出现:一是出现源IP地址相同、源MAC地址不同的ARP冲突应答包,这是由于欺骗主机向目标主机发送构造的ARP应答包,而被骗主机在正常响应ARP请求时也会发送正确的ARP应答包,这样网络中就出现了两种不同的ARP冲突应答包;二是为了达到稳定欺骗效果,某主机周期性发送ARP Reply包,且发包频率高于正常的ARP包出现频率。假定交换机是可管理的,可以得到通过交换机的所有数据拷贝,将运行反窃听程序的主机接到交换机监听口,监视流经交换机的所有ARP数据包,对收到的每一个ARP包进行IP−MAC地址对解析,再与缓存表中的地址对进行比较来判断是否有监听行为发生。
DNS反解析:非法的网络监听程序会发送DNS反向查询数据,因此,可以通过检测它产生的DNS传输流进行判断。检测者通过监听 DNS 服务器接收到的反向域名查询数据,可以判断对这些地址进行反向查询的机器就是在查询包中所包含的IP地址,也就是说在运行非法的网络监听程序。由于DNS反解析检测sniffer是利用执行者的主观行为,因此有一定的局限性。
时间延时方法:时间延时方法也称为负载检测。这种方法在网络中发送大量数据,这对设置在非混杂模式的机器没有影响,但是对运行sniffer程序的机器有影响,特别是用于口令的语法分析应用层协议。只要在发送数据之前以及发送数据之后,PING主机对比两次的响应时间差别就可以检测。这种方法很有效,甚至比内核协议栈反射原理还有用,但实际应用中仍然有很大的局限性,发送大量的数据增加sniffer主机的负载没有问题,主要是使用什么样的方法来反映主机负载。许多操作系统的TCP/IP协议栈总是对PING包尽快做出响应,一收到PING请求包,系统就立即应答,主机负载不明显。当然可以采用优先级比较低的 TCP 层以上的服务,如FTP,TELnet,但是有经验的sniffer会关闭相应的服务,从而无法实现主机负载的检测。
流量特征方式:交换方式下Sniffer行为的一个特征是其他主机的流量被引流到Sniffer主机,然后这些流量被Sniffer主机重新发送到网关。在这种方式下,很可能出现sniffer主机流量非常的大,同时进出流量基本相等的外部表现,通过网络管理口捕获数据包的方法可以及时发现这一反常特征,从而检测运行非法网络监听程序的主机。